<?php
/**
 * Created by PhpStorm.
 * User: Administrator
 * Date: 2019/11/8
 * Time: 14:13
 */

namespace HiCommon\Repository;
use HiCommon\Model\RoadRescue;

class RoadRescueRepository extends BaseRepository
{
    public function base_model(){
        return new \HiCommon\Model\RoadRescue();
    }
     /**
      * 分页获取数据
      *
      * @param array $arr_option
      *
      * @return mixed
      * @author wumengmeng <wu_mengmeng@foxmail.com>
      */
      public function get_list($arr_option = []){
          return RoadRescue::commonpage($arr_option);
      }


    /**
     * 分页获取全部数据
     *
     * @param array $arr_option
     *
     * @return mixed
     * @author wumengmeng <wu_mengmeng@foxmail.com>
     */
    public function get_all($arr_option = [])
    {
        return RoadRescue::commonget($arr_option);
    }


     /**
      * 根据条件统计数量
      *
      * @param array $arr_where
      *
      * @return mixed
      * @author wumengmeng <wu_mengmeng@foxmail.com>
      */
     public function get_count_by_where($arr_where)
     {
         return RoadRescue::where($arr_where)->count();
     }

     /**
      * 根据条件统计总和
      *
      * @param array  $arr_where
      * @param string $s_field
      *
      * @return mixed
      * @author wumengmeng <wu_mengmeng@foxmail.com>
      */
     public function get_sum_by_where($arr_where = [],$s_field = 'mark')
     {
         return RoadRescue::where($arr_where)->sum($s_field);
     }

     /**
      * 添加一条数据
      *
      * @param array $arr_input
      *
      * @return mixed
      * @author wumengmeng <wu_mengmeng@foxmail.com>
      */
     public function add_one($arr_input)
     {
         return RoadRescue::create($arr_input);
     }

     /**
      * 查询一条数据
      *
      * @param int $n_id
      * @param array $arr_option
      *
      * @return mixed
      * @author wumengmeng <wu_mengmeng@foxmail.com>
      */
     public function get_one(int $n_id, $arr_option = [])
     {
         return RoadRescue::commonfind($n_id, $arr_option);
     }

     /**
      * 修改一条数据
      *
      * @param array $arr_input
      *
      * @return mixed
      * @author wumengmeng <wu_mengmeng@foxmail.com>
      */
     public function edit_one(array $arr_input)
     {
         return RoadRescue::where('id',$arr_input['id'])->update($arr_input);
     }

     /**
      * 删除一条数据
      *
      * @param int $n_id
      *
      * @return mixed
      * @author wumengmeng <wu_mengmeng@foxmail.com>
      */
     public function delete_one(int $n_id)
     {
         return RoadRescue::where('id', $n_id)->commondelete();
     }

     /**
      * 修改一条数据状态
      *
      * @param int $n_id
      * @param int $n_state
      *
      * @return mixed
      * @author wumengmeng <wu_mengmeng@foxmail.com>
      */
     public function change_one_state(int $n_id,int $n_state)
     {
         return RoadRescue::where('id',$n_id)->update(['state'=>$n_state]);

     }

     /**
      * 字段自增
      *
      * @param int    $n_id
      * @param string $s_field
      * @param int    $n_step
      *
      * @return mixed
      * @author wumengmeng <wu_mengmeng@foxmail.com>
      */
     public function increase_num($n_id,$s_field = 'commend_num',$n_step = 1)
     {
         return RoadRescue::where('id',$n_id)->increment($s_field,$n_step);
     }

     /**
      * 字段自减
      *
      * @param int    $n_id
      * @param string $s_field
      * @param int    $n_step
      *
      * @return mixed
      * @author wumengmeng <wu_mengmeng@foxmail.com>
      */
     public function decrease_num($n_id,$s_field = 'commend_num',$n_step = 1)
     {
         return RoadRescue::where('id',$n_id)->decrement($s_field,$n_step);
     }


 }